# Emulator keys

{main.exit} | exit emulator
{main.settings} | configure emulator
{main.lockmouse} | bind mouse in windowed mode to kempston mouse
{main.monitor} | enter debugger
{main.selectfilter} | select video filter for output
{main.selectdriver} | select driver for filters, working through driver
{main.fullscreen} | toggle full-screen on/off (only for GDI, Overlay, or ddraw blitter video modes)
{main.pause} | pause
{main.selectfix} | select video parameter for tune-up
{main.selectsnd} | select sound parameter for tune-up
{main.incfix} | increase selected parameter
{main.decfix} | decrease selected parameter
{main.incfix10} | coarse increase selected parameter
{main.decfix10} | coarse decrease selected parameter
{main.leds} | toggle on-screen leds
{main.maxspeed} | toggle max. speed
{main.pokedialog} | show poke dialog
{main.starttape} | start tape
{main.tapebrowser} | show tape browser
{main.screenshot} | write screenshot
{main.reset} | reset to default mode
{main.reset128} | reset to 128K
{main.resetsys} | reset to service ROM
{main.reset48} | reset to 48K
{main.resetbasic} | reset to 48K basic with unlocked high memory
{main.resetdos} | reset to TR-DOS
{main.resetcache} | reset to cache
{main.nmi} | generate NMI
{main.nmidos} | select TR-DOS and generate NMI ("MAGIC" button)
{main.nmicache} | select cache and generate NMI
{main.help} | show this help
{main.save} | save disk or memory image
{main.load} | load disk or memory image
{main.savesound} | start sound recording
{main.qsave1} | quick-save to slot 1
{main.qsave2} | quick-save to slot 2
{main.qsave3} | quick-save to slot 3
{main.qload1} | quick-load from slot 1
{main.qload2} | quick-load from slot 2
{main.qload3} | quick-load from slot 3
{main.keystick} | toggle sticky-keys mode
{main.autofire} | toggle autofire mode
{main.saveall} | save CMOS and unsaved diskette images
{main.xtkbd} | enable/disable ATM XT keyboard controller (emulation control keys will be disabled in this mode)
{main.pastetext} | copy text from clipboard to keyboard buffer
{main.memsearch} | search in memory for changed values (cheats, etc)
{main.size1} | set normal window size in windowed mode
{main.size2} | set double window size in windowed mode
{main.sizem} | maximize window in windowed mode

# Debugger Keys

{mon.exit} | exit to system
{mon.emul} | back to emulation
{mon.settigns} | configure emulator
{mon.bpdialog} | breakpoints manager
{mon.gs} | general sound status dialog
{mon.pokedialog} | enter pokes
{mon.tapebrowser} | tape browser
{mon.reset128} | reset to 128K
{main.resetsys} | reset to service ROM
{mon.reset48} | reset to 48K
{mon.resetbasic} | reset to 48K basic with unlocked high memory
{mon.resetdos} | reset to TR-DOS
{mon.resetcache} | reset to cache
{mon.nmi} | generate NMI
{mon.nmidos} | select TR-DOS and generate NMI ("MAGIC" button)
{mon.nmicache} | select cache and generate NMI
{mon.help} | show this help
{mon.save} | save disk or memory image
{mon.load} | load disk or memory image
{mon.savesound} | start sound recording
{mon.qsave1} | quick-save to slot 1
{mon.qsave2} | quick-save to slot 2
{mon.qsave3} | quick-save to slot 3
{mon.qload1} | quick-load from slot 1
{mon.qload2} | quick-load from slot 2
{mon.qload3} | quick-load from slot 3
{mon.screen} | show spectrum screen, as it present in video memory
{mon.altscreen} | show 128K spectrum screen at bank#7
{mon.rayscreen} | show painted screen area until crt-ray (with MC, border & 2-scr effects)
{mon.step} | trace single Z80 M1 cycle
{mon.stepover} | trace Z80 over loops, calls, etc...
{mon.exitsub} | trace until word in (PC) (designed for 'exit routine')
{mon.loadblock} | load memory block
{mon.saveblock} | save/disasm memory block
{mon.fillblock} | fill memory block with pattern
{mon.setbank} | write to port #7FFD
{mon.sethimem} | write to model-specific extended memory port
{mon.next} | next window
{mon.prev} | prev. window
{mon.dump} | toggle mode of dump window
{mon.rip} | activate ripper's tool
{mon.osw} | configure on-screen watches
{mon.scrshot} | toggle screenshot/screendump/watches
{mon.setwatch} | set user-defined watch address
{mon.switchay} | switch active AY (turbo-sound)
{mon.labels} | goto label
{mon.memsearch} | search in memory for changed values (cheats, etc)

## Debugger Keys - registers window

{reg.left} | left
{reg.right} | right
{reg.up} | up
{reg.down} | down
{reg.edit} | edit current register
{reg.a} | edit register 'A'
{reg.f} | edit flags
{reg.bc} | edit BC
{reg.de} | edit DE
{reg.hl} | edit HL
{reg.pc} | edit PC
{reg.sp} | edit SP
{reg.ix} | edit IX
{reg.iy} | edit IY
{reg.i} | edit I
{reg.r} | edit R
{reg.im} | toggle interrupt mode
{reg.iff1} | toggle iff1
{reg.iff2} | toggle iff2
{reg.SF} | toggle flag SF
{reg.ZF} | toggle flag ZF
{reg.F5} | toggle flag F5
{reg.HF} | toggle flag HF
{reg.F3} | toggle flag F3
{reg.PF} | toggle flag PF
{reg.NF} | toggle flag NF
{reg.CF} | toggle flag CF
{reg.codejump} | goto address in code window under cursor
{reg.datajump} | goto address in data window under cursor

## Debugger Keys - disasm window

{cpu.findpc} | set cursor at PC
{cpu.here} | trace to cursor
{cpu.findtext} | find string
{cpu.findcode} | find code with mask
{cpu.goto} | push cursor position and goto address
{cpu.bpx} | breakpoint under cursor
{cpu.asm} | edit instruction
{cpu.setpc} | set PC to cursor
{cpu.up} | up
{cpu.down} | down
{cpu.left} | left
{cpu.right} | right
{cpu.pgdn} | next page
{cpu.pgup} | prev. page
{cpu.save1} | save cursor position to slot 1
{cpu.save2} | save cursor position to slot 2
{cpu.save3} | save cursor position to slot 3
{cpu.save4} | save cursor position to slot 4
{cpu.save5} | save cursor position to slot 5
{cpu.save6} | save cursor position to slot 6
{cpu.save7} | save cursor position to slot 7
{cpu.save8} | save cursor position to slot 8
{cpu.rest1} | push cursor position to jumpstack and restore cursor position from slot 1
{cpu.rest2} | push cursor position to jumpstack and restore cursor position from slot 2
{cpu.rest3} | push cursor position to jumpstack and restore cursor position from slot 3
{cpu.rest4} | push cursor position to jumpstack and restore cursor position from slot 4
{cpu.rest5} | push cursor position to jumpstack and restore cursor position from slot 5
{cpu.rest6} | push cursor position to jumpstack and restore cursor position from slot 6
{cpu.rest7} | push cursor position to jumpstack and restore cursor position from slot 7
{cpu.rest8} | push cursor position to jumpstack and restore cursor position from slot 8
{cpu.back} | pop cursor position from jumpstack
{cpu.context} | push cursor position and goto instruction operand
{cpu.datajump} | jump to instruction operand in data window
{cpu.labels} | show labels on/off
{cpu.importl} | menu for importing labels from XAS/ALASM

## Debugger Keys - memory/disk editor window

{mem.left} | left
{mem.right} | right
{mem.up} | up
{mem.down} | down
{mem.pgup} | page up
{mem.pgdn} | page down
{mem.switch} | move between hex/ascii fields
{mem.stline} | goto start of line
{mem.endline} | goto end of line
{mem.findtext} | find text in memory / disk track
{mem.findcode} | find code with mask in memory / disk track
{mem.goto} | goto address
{mem.mem} | select memory editor
{mem.diskphys} | select disk editor (physical track)
{mem.disklog} | select disk editor (logical sectors)
{mem.diskgo} | select drive/track/sector in diskeditor
{mem.pc} | goto PC
{mem.sp} | goto SP
{mem.bc} | goto BC
{mem.de} | goto DE
{mem.hl} | goto HL
{mem.ix} | goto IX
{mem.iy} | goto IY